Portable Computing Device-Integrated Appliance

ABSTRACT

In accordance with one aspect, a portable computing device determines a type of an appliance in which the portable computing device is docked. The portable computing device identifies, based on the type of the appliance, a user interface configuration for the portable computing device, and configures the user interface of the portable computing device in accordance with the identified user interface configuration. In accordance with another aspect, a car stereo includes a docking station into which an off-the-shelf handheld computer can be docked. The car stereo also includes an input/output (I/O) component that allows the car stereo to communicate with the handheld computer when the handheld computer is docked in the docking station of the car stereo. In accordance with another aspect, an appliance in which a portable computing device can be docked is an integrated vehicle stereo and portable computing device docking station.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.10/295,305, filed Nov. 15, 2002, which is hereby incorporated byreference herein.

TECHNICAL FIELD

This invention relates to computing devices, and particularly toportable computing devices and portable computing device-integratedappliances.

BACKGROUND

Portable computing devices, such as handheld PCs and personal digitalassistants (PDAs) are becoming increasingly popular. Such devicesprovide users with a relatively small, portable device that can runvarious programs. A wide variety of such programs exist, includingentertainment programs, reference programs, spreadsheet programs, wordprocessing programs, calculators, and so forth. These programs allow theportable computing devices to provide desired functionality to a widerange of users in a wide range of environments and situations.

However, one problem encountered with portable computing devices is howthe user is to use the device in various environments. For example, itis relatively easy for a user to hold the portable computing device inthe palm of one hand and activate its functionality with the other handwhile sitting in a waiting room. Other environments, however, do notallow such ease of use. For example, it is generally considered unsafebehavior for a user to use both hands to operate his or her portablecomputing device while driving a car.

Some solutions to this problem in the car environment provide a cradlefor holding the portable computing device. Such a cradle is typicallymounted to the dashboard or some other part of the car and has a standor “gooseneck” that allows the device to be positioned so that it can bebetter viewed by the user. While such solutions alleviate the need forthe user to hold the device in one of his or her hands, they stillsuffer from being cumbersome to the user in the car environment.

Thus, an improved way to hold portable computing devices is needed.

SUMMARY

A portable computing device-integrated appliance is described herein.

In accordance with one aspect, a portable computing device determines atype of an appliance in which the portable computing device is docked.The portable computing device identifies, based on the type of theappliance, a user interface configuration for the portable computingdevice, and configures the user interface of the portable computingdevice in accordance with the identified user interface configuration.

In accordance with another aspect, a car stereo includes a dockingstation into which an off-the-shelf handheld computer can be docked. Thecar stereo also includes an input/output (I/O) component that allows thecar stereo to communicate with the handheld computer when the handheldcomputer is docked in the docking station of the car stereo.

In accordance with another aspect, the appliance is an integratedvehicle stereo and portable computing device docking station.

In accordance with another aspect, an appliance having a docking stationdetermines when a portable computing device is docked in the dockingstation. When the portable computing device is docked in the dockingstation, the appliance sends, to the portable computing device, anindication of a type of the appliance. This indication can be used bythe portable computing device to configure its user interface based onthe type of the appliance.

BRIEF DESCRIPTION OF THE DRAWINGS

The same numbers are used throughout the document to reference likecomponents and/or features.

FIG. 1 is a block diagram illustrating exemplary appliances in differentenvironments in which a portable computing device may be docked.

FIG. 2 is a block diagram illustrating a portable computing device andappliance in additional detail.

FIG. 3 illustrates an exemplary portable computing device in additionaldetail.

FIG. 4 illustrates an exemplary vehicle stereo while a portablecomputing device is docked therein.

FIG. 5 illustrates the vehicle of FIG. 4, except without a portablecomputing device docked therein.

FIG. 6 illustrates another exemplary vehicle stereo with a portablecomputing device docked therein.

FIG. 7 is a flowchart illustrating an exemplary process for changing auser interface on a portable computing device.

FIG. 8 is a flowchart illustrating an exemplary process for operation ofan appliance.

FIG. 9 illustrates an exemplary general computing device.

DETAILED DESCRIPTION

Portable computer-integrated appliances are described herein. Eachappliance is designed to readily allow a portable computing device to bedocked therein. Once docked, the portable computing device presents auser interface that is based at least in part on the type of theappliance.

FIG. 1 is a block diagram illustrating exemplary appliances in differentenvironments in which a portable computing device may be docked. FIG. 1illustrates a portable computing device 102 and multiple (n) appliances104, 106, and 108 into which device 102 can be docked. Appliances 104and 106 are both in the home environment 110 and may be, for example, ahome entertainment system, an automation and/or security system, anenvironment control system (e.g., for controlling a furnace, airconditioner, humidifier, etc.), a clock radio, a refrigeration appliance(e.g., refrigerator, freezer, refrigerator/freezer combination, etc.),an oven or range, and so forth. Appliance 108 is in the vehicle (e.g.,car, truck, van, recreational vehicle, boat, etc.) environment 112 andmay be, for example, a vehicle stereo or entertainment system.

Portable computing device 102 can be any of a wide variety of portablecomputing devices, such as a handheld or pocket computer, or a portabledigital assistant (PDA) or organizer. Portable computing device 102 mayalso include telephone functionality (e.g., cellular telephonefunctionality). Examples of portable computing device 102 include: anyof the Treo or Visor families of communicators or organizers availablefrom Handspring, Inc. of Mountain View, Calif.; any of the Palm handhelddevices available from Palm, Inc. of Milpitas, Calif.; any of theCassiopeia family of personal PCs available from Casio Computer Co. ofDover, N.J.; any of the CLIÉ line of handheld devices available fromSony Corporation of America New York, N.Y.; any of the Jornada or iPAQfamilies of pocket PCs available from Hewlett-Packard Co. of Palo AltoCalif.; and so forth.

It should be noted that any of a variety of off-the-shelf portablecomputing devices, such as those discussed above, can be used asportable computing device 102. Such an off-the-shelf portable computingdevice may require an additional program(s) to be installed thereon toprovide the functionality of configuration module 144 (and possibly toprovide at least some of the functionality of I/O component 142). Suchprogram(s) can be obtained in any of a variety of manners, such asdownloading the program(s) from a server over the Internet, obtaining apluggable module or card including the program(s), and so forth.

Portable computing device 102 can be docked in a docking port of any ofappliances 104, 106, and 108. Docking portable computing device 102 intoan appliance refers to physically placing the device into a receptacleof the appliance. When the portable computing device is both docked inan appliance and turned on, the portable computing device presents auser interface that is appropriate to that appliance as well as theenvironment that the appliance is in. Depending on the type of theappliance in which the portable computing device is docked, the portablecomputing device may make additional functionality available to theappliance.

FIG. 2 is a block diagram illustrating a portable computing device andappliance in additional detail. The portable computing device 102 ofFIG. 2 is the same portable computing device 102 as in FIG. 1, and theappliance 140 in FIG. 2 can be any of the appliances 104, 106, or 108 ofFIG. 1.

Portable computing device 102 includes an I/O component 142 and aconfiguration module 144. Appliance 140 includes an I/O component 146, atype module 148, and a docking module 150.

I/O component 142 includes hardware and optionally software and/orfirmware that allows portable computing device 102 to communicate withappliance 140 by way of I/O component 146. Similarly, I/O component 146includes hardware and optionally software and/or firmware that allowsappliance 140 to communicate with portable computing device 102 by wayof I/O component 142.

Appliance 140 and a docking station for portable computing device 102are integrated, allowing portable computing device 102 to be docked intoappliance 140. Docking portable computing device 102 into an appliancerefers to physically placing the device into a receptacle (also referredto as a docking port or docking station) of the appliance. Thereceptacle may be implemented in a variety of different ways, such as arecessed portion of the appliance into which the portable computingdevice can be inserted, a receptacle that can be extended for docking ofthe portable computing device but which can be drawn into the appliancewhen no device is docked (e.g., a tray that can be pulled out fordocking and pushed back in and out of the way when no device is docked),one or more clips that are activated to hold the portable computingdevice in place, and so forth.

In one implementation, when docked in an appliance 140, a powerconnection is established between the portable computing device 102 andthe appliance 140. This power connection can be used to power portablecomputing device 102 and thus conserve the battery power of portablecomputing device 102. If the battery or batteries of portable computingdevice 102 are rechargeable, this power connection can also be used torecharge the battery or batteries of portable computing device 102.

Once docked in an appliance, the I/O components 142 and 146 cancommunicate with one another, allowing data and commands to be passedbetween portable computing device 102 and appliance 140. Thecommunication link established between I/O components 142 and 146 may beimplemented in a variety of manners, such as by way of signals passedthrough electrical contacts of the portable computing device that are inphysical contact with electrical contacts of the appliance, by radiofrequency (RF) signals, by infrared (IR) signals, combinations thereof,and so forth. The exact manner in which signals are communicated betweenI/O components 142 and 146 can vary by device and appliance, anddifferent devices and appliances may support different communicationmechanisms. For example, one appliance may support RF signalcommunication, another appliance may support IR signal communication,and the portable computing device may support both RF signal and IRsignal communication.

When portable computing device 102 is both docked in appliance 140 andturned on, portable computing device 102 presents a user interface whichis based at least in part on the type of appliance 140 in which portablecomputing device 102 is docked. A configuration module 144 identifiesthe type of appliance that portable computing device 102 is docked in,and uses this type information to determine an appropriate userinterface for portable computing device 102.

Configuration module 144 can identify the type of appliance in a varietyof different manners. In one embodiment, type module 148 of appliance140 sends a data packet including a type identifier over thecommunication link between device 102 and appliance 140. Appliance 140can be pre-programmed with the type identifier (e.g., by themanufacturer, seller, or purchaser of appliance 140). Type module 148may send the type identifier to configuration module 144 when requestedby configuration module 144, or alternatively may send the typeidentifier to configuration module 144 without being requested to do soby configuration module 144. The type identifier can be implemented inany of a wide variety of different manners, so long as portablecomputing device 102 and appliance 140 both know (e.g., are programmedwith) the manner in which the type identifier is implemented. Forexample, the type identifier may be an eight-bit number, an alphanumericstring, etc.

In another embodiment, configuration module 144 relies on a moremechanical mechanism for identifying the type of appliance. Rather thanreceiving a type identifier from type module 148, portable computingdevice 102 includes one or more sensors. In such an embodiment,appliance 140 need not include type module 148. When portable computingdevice 102 is docked in appliance 140, these one or more sensors arepositioned to correspond to locations where protrusions from appliance140 may be situated. The presence or absence of a protrusion at eachlocation is used to identify the type of appliance. The number oflocations that are sensed depends on the number of different types ofappliances to be identified. For example, one sensor can be used touniquely identify two (2¹) different appliance types, two sensors can beused to uniquely identify four (2²) different appliance types, threesensors can be used to uniquely identify eight (2³) different appliancetypes, and so forth.

The sensors can detect a protrusion at a particular location in avariety of different manners. For example, the detection may beperformed optically (e.g., the protrusion may include a reflectivematerial that is sensed, or the protrusion may break an optical beam andthe breaking of the beam is sensed), or mechanically (e.g., theprotrusions are positioned such that docking the portable computingdevice causes the protrusion to actuate a button or tab that closes (oralternatively opens) an electrical connection that is sensed).

Each type of appliance is associated with a particular environment inwhich that device is typically located. For example, a car stereo istypically located in the car environment, while a refrigerator or homeentertainment system is typically located in the home environment. Byhaving each appliance type associated with a particular environment, theportable computing device can be configured to present a user interfaceappropriate to that environment each time the portable computing deviceis docked in that appliance. If a particular appliance may be used inmultiple environments, then the user may be requested to select theappropriate environment (e.g., the user may be presented with a requestto select a “home” button or a “vehicle” button), or alternatively oneof those environments may be chosen as the default (which may besubsequently changed by the user as a user preference setting).

Different user interfaces are appropriate in different environments. Forexample, in the vehicle environment larger buttons and text on a displaymay be more appropriate so that it is easier for the driver of thevehicle to see them on the display, while in the home environmentsmaller buttons and text may be more appropriate because the user isable to spend more time viewing the display (and is not concerned withbeing distracted from driving). Additionally, certain functionality maybe more appropriate for certain environments rather than otherenvironments. For example, a spreadsheet program may be less appropriatein the vehicle environment than in the home environment because of thetypically small size of the cells and cell contents in the spreadsheet,while a car stereo user interface would be more appropriate for the carenvironment.

Configuration module 144 determines the appropriate user interface topresent to the user based on the type of appliance in which the deviceis docked. In one embodiment, portable computing device 102 isprogrammed with one or more interface descriptions 152, each descriptiondescribing a user interface for a particular type of appliance.Interface descriptions 152 is configured with one or more descriptionsfor each type of appliance into which portable computing device 102 maybe docked. The interface descriptions 152 may be pre-loaded intoportable computing device 102 by the manufacturer or seller of portablecomputing device 102, or alternatively may be added by the user ofportable computing device 102 (e.g., the user may download a userinterface description in a manner analogous to the downloading ofsoftware for running on portable computing device 102).

Given an identification of the type of the appliance in which the deviceis docked (e.g., identified in any of the manners discussed above),configuration module 144 accesses the interface descriptions 152 andsearches for an appliance type that matches (e.g., is the same as) theidentified type. The interface description for the appliance type thatmatches the identified type is retrieved and used to configure the userinterface of the portable computing device.

In another embodiment, appliance 140 communicates the interfacedescription to be used by portable computing device 102, and appropriatefor the environment in which appliance 140 is located, to portablecomputing device 102. In this embodiment, the user, seller, ormanufacturer of portable computing device 102 need not be concerned withpre-programming portable computing device 102 for each possibleappliance type the device may be docked in, but rather can rely on theappliance 140 to have the interface description and transfer it toportable to computing device 102. The interface description may betransferred to portable computing device 102 each time device 102 isdocked in the appliance 140, or alternatively portable computing device102 may maintain user interface descriptions so that the descriptionneed only be transferred from appliance 140 to device 102 the first timedevice 102 is docked in appliance 140. For subsequent dockings, device102 can obtain the user interface description from the record itmaintained.

When docked in appliance 140, portable computing device 102 can sendcontrol information to appliance 140 in order to control the operationof appliance 140. For example, the user may enter selections through theuser interface of portable computing device 102 to control playback ofaudio content (e.g., songs from disc, radio or satellite transmission,the Internet, etc.) by an appliance 140 that is a stereo. Theappropriate commands to carry out the user-entered selections are thencommunicated from portable computing device 102 to the stereo.

Portable computing device 102 can also send data to appliance 140 (e.g.,operating as an audio source to appliance 140). The data sent toappliance 140 may be used directly by appliance 140 (e.g., MP3 (MPEGAudio Layer 3) or WMA (Windows Media Audio) audio data to be played backby an appliance 140 that is a stereo) or alternatively may be usedindirectly (e.g., stored or transmitted elsewhere) by appliance 140(e.g., data to be sent out by appliance 140 over the Internet, data tobe communicated to a peripheral device coupled to appliance 140, data tobe stored on a nonvolatile storage device of appliance 140, and soforth).

When docked in appliance 140, portable computing device 102 can also imake use of any resources of appliance 140. For example, resources ofappliance 140 may include a hard drive, a modem or other networkconnector (wired or wireless) to connect to the Internet, a globalpositioning system (GPS) receiver, and so forth. The resources may beinternal to appliance 140, or alternatively external (e.g., coupled toappliance 140 via a Universal Serial Bus (USB) connector, IEEE 1394connector, some other public or proprietary connector, etc.). Thus, byway of example, if portable computing device 102 is docked in anappliance 140 that is a car stereo, a user interface may be presented tothe user that lets the user control which music is played back by thecar stereo (e.g., which radio or satellite channel is tune in and playedback, or which song from the car stereo's CD player or hard drive isplayed back), as well as access a GPS receiver and display locationinformation to the user. Resources of portable computing device 102 mayalso be available to appliance 140. For example, music stored in amemory component (e.g., Flash memory) of portable computing device 102may be made available to a car stereo for playback.

Various functionality can thus be made available to portable computingdevice 102 when docked in appliance 140. The appliance 140 can operateas an audio (or other data) source to portable computing device 102,such as by having a microphone for speech recognition, providing audiodata from a broadcast for recording by portable computing device 102,and so forth. Storage devices of appliance 140 (e.g., a hard drive oroptical disc drive (such as a CD drive or DVD drive)) may also operateas a data source for portable computing device 102. For example, GPS orother mapping data stored on a CD or DVD may be made available toportable computing device 102 by way of the optical disc drive ofappliance 140. Appliance 140 can also operate as an extensibleperipheral bus for portable computing device 102. Peripheral devices canbe coupled to a bus (or busses) of appliance 140 (e.g., USB, IEEE 1394,PCMCIA, etc.), and these devices thus made available to portablecomputing device 102 when docked in appliance 140.

Additionally, appliance 140 is designed to allow portable computingdevice 102 to be docked in appliance 140 and blend well with appliance140. For example, rather than having a stand bolted to a car'sdashboard, appliance 140 docks portable computing device 102 so thatportable computing device 102 blends well with the car stereo. Suchdesign improves the appearance of the appliance 140 with the portablecomputing device 102 docked therein, making the portable computingdevice 102 look as if it “belongs” or “fits in” to the appliance 140.

It should be noted that the user interface for portable computing device102 can change (and typically does change) as it is used in differenttypes of appliances. For example, when the user drives home from workwith the portable computing device docked in the user's car stereo, theportable computing device presents one user interface. When the usergets home and docks the portable computing device in his or her homeentertainment system, the portable computing device presents anotheruser interface. Then, when the user is ready for bed and docks theportable computing device in his or her alarm clock, the portablecomputing device presents yet another user interface.

FIG. 3 illustrates an exemplary portable computing device in additionaldetail. In FIG. 3, portable computing device 102 is in a standalone orundocked environment (that is, portable computing device 102 is notdocked in any appliance). An example user interface 180 is shown in FIG.3, including the current date, the name and phone number of the owner ofportable computing device 102, an indication of any upcomingappointments, unread messages, and active tasks. A “start” link is alsoincluded via which the user may select one or more programs to execute(e.g., analogous to the Windows® operating system start menu). A usermay input commands and/or data to portable computing device 102 byselecting a portion of the user interface 180 (e.g., using a finger orstylus, if portable computing device 102 includes a touchscreen), or bypressing one of buttons 182, 184, 186, 188 or 190.

FIG. 4 illustrates an exemplary vehicle stereo while a portablecomputing device is docked therein. In FIG. 4, the appliance thatportable computing device 102 is docked in is car stereo 200. Althoughdescribed herein with reference to a “car” stereo, it is to beappreciated that the stereo can be included in other vehicles as well,such as trucks, vans, recreational vehicles, boats, and so forth.

Car stereo 200 incorporates typical car stereo functionality, such as:the ability to tune in radio stations (e.g., an AM/FM tuner and/orsatellite tuner); the ability to play back compact discs, MLP3 files, orWIA files; a power amplifier; radio controls such as channel seek andscan functions; CD controls such as play, pause, stop, fast forward,rewind; base and treble control; and so forth. Car stereo 200 mayinclude all or only some of this functionality (e.g., car stereo may notinclude the ability to play back MP3 files). Car stereo 200 may alsoinclude additional “automotive PC” functionality, such as: a hard drive;peripheral ports; a modem (e.g., wireless) for network (e.g., Internet)access; stereo echo cancellation circuitry; microphone input circuitry;an attached microphone; an attached push-to-talk button (e.g. allowinginput for speech recognition); and so forth. Car stereo 200 may includeall, none, or some of this automotive PC functionality.

Car stereo 200 includes a source display 202, eight channel pre-setbuttons 204, a scan channel up button 206, a scan channel down button208, a slot 210 for insertion and removal of optical discs (e.g., CDs,DVDs, etc.), an eject button 212 for ejecting optical discs, a volumecontrol knob 214, and two peripheral device connectors 216 (e.g., USBports). As illustrated, portable computing device 102 is docked in carstereo 200 such that the user interface display of the portablecomputing device 102 is approximately parallel to the face of stereo200. Alternatively, portable computing device 102 may be docked in carstereo 200 such that the user interface display of the portablecomputing device 102 is not approximately parallel to the face of stereo200 (e.g., offset towards or away from the driver's seat of the vehicle,docked in a moveable manner so that the display may be (but is notnecessarily) parallel with the face of stereo 200, etc.).

As seen in FIGS. 3 and 4, the user interface displayed to the user isdifferent when in the standalone environment than when docked in anappliance in the car environment. When docked, portable computing device102 displays a user interface 218 that displays track information forthe current media source being played, illustrated as “01/15” toindicate track one of fifteen total tracks (e.g., tracks on a CD, on ahard drive, in a play list, etc.) and “02:47” to indicate playback is 2minutes and 47 seconds into track one. User interface 218 also displaysthe name of the disc or play list (“Hyperspeed (G-force)”), as well asthe source of the disc or play list (“Prodigy”) and the rate of playbackfor the disc (“128 Kbps”), which is an indication of the quality of themedia content. User interface 218 also displays a volume level,indicating a current playback volume (by darkened boxes) relative to amaximum playback volume supported by car stereo 200. User interface 218also includes other selectable links (Country, '80s Rock, and Jazz) ofdifferent types of music available for playback to the user. A user mayinput selections to portable computing device 102 via control keys onportable computing device 102 (e.g., keys 182-190 illustrated in FIG.3), and/or a touehscrcen of portable computing device 102.

Thus, when a user of portable computing device 102 enters his or hercar, he or she can simply dock the portable computing device 102 in thecar stereo and have the user interface automatically change to aninterface appropriate to the car environment. Through the userinterface, the user is able to select which media he or she would liketo play back (whether its source be stereo 200 or portable computingdevice 102), and in response to such selection, the portable computingdevice 102 sends control information to the car stereo to begin playbackof the selected content. When the user leaves the car, he or she cansimply undock portable computing device 102, causing portable computingdevice 102 to return to the user interface for the standaloneenvironment.

In one implementation, portable computing device 102 maintains a recordof its current state when it is undocked from a particular type ofappliance. When the portable computing device is again docked to thatsame type of appliance, it returns to the same state as when it was lastundocked. This current state includes information describing any currentresource(s) being accessed, and information describing any data beingpresented to the user. The exact nature of this current state can varybased on the appliance as well as the actions being performed by theuser. For example, when portable computing device 102 in FIG. 4 isundocked, it can save the current media playback information (e.g., thecurrent song (track one of “Hyperspeed (G-force)”, and temporal locationin that song (2 minutes and 47 seconds into track) as associated withthe car stereo. The next time the user docks the portable computingdevice 102 into a car stereo (e.g., any car stereo), portable computingdevice 102 retrieves the saved information and communicates with carstereo 200 to initiate playback of track one of “Hyperspeed (G-force)”at 2 minutes and 47 seconds into track one. Alternatively, if the carstereo has a unique identifier, then the saved information can beassociated with that particular identifier and playback initiated basedon that saved information only when the portable computing device isagain docked in that same car stereo.

It should be noted that, although a single interface form is displayedas part of user interface 218 for portable computing device 102 whiledocked in a car stereo, the user interface may include multiple forms.For example, one interface form may allow the user to select fromdifferent media sources (e.g., satellite radio, local radio, CD, harddisk, etc.), another interface form may allow the user to select fromdifferent resources to access (e.g., GPS, the Internet, a printerconnected via a USB port 216, etc.), another interface form may allowfor GPS information display (e.g., displaying a map and current locationwithin the map), and so forth.

It should also be noted that, as part of the configuration of the userinterface to an appropriate interface for the type of appliance portablecomputing device 102 is docked in, the orientation of the display maychange. For example, as seen in FIGS. 3 and 4, the display orientationis changed by 90 degrees due to the portable computing device beingdocked “horizontally” in car stereo 200 rather than the normal“vertical” orientation that portable computing device 102 is held in(e.g., when being held in a user's hand). The proper orientation for thedisplay can be included as part of the interface description for theappliance.

FIG. 5 illustrates the vehicle stereo of FIG. 4, except without aportable computing device docked therein. In FIG. 5, the source display202 has changed to indicate a currently-tuned channel rather than adisc, and a recessed receptacle 250 that is part of the face of stereo200. A portable computing device can be docked in receptacle 250. Twoadditional peripheral ports 252 are illustrated allowing additionalperipheral components to be installed in car stereo 200, such as PCMCIAcards.

Vehicle stereo 200 is still operational when portable computing device102 is not docked therein, however, the additional interface andfunctionality that portable computing device 102 provides is notavailable when portable computing device 102 is not docked therein. So,for example, the user could still select a pre-set channel using one ofbuttons 204, scan through channels, adjust the volume, etc. even thoughportable computing device 102 is not docked in stereo 200.

In one embodiment, user interface 218 of FIG. 4 replaces the userinterface of car stereo 200 when portable computing device 102 is dockedin stereo 200. For example, the source display may be blank whenportable computing device 102 is docked in stereo 200, and selection ofany of the pre-set keys 204 may be ignored by stereo 200 when portablecomputing device 102 is docked in stereo 200. Various parts of the userinterface of stereo 200 may also be covered by portable computing device102 when portable computing device 102 is docked in stereo 200. Forexample, the source display 202 may be located in the receptacle 250 sothat it is covered by portable computing device 102 when portablecomputing device 102 is docked in stereo 200.

In alternate embodiments, the user interface on portable computingdevice 102 supplements the user interface of car stereo 200. Forexample, the media source display and pre-set keys 204 of FIG. 4 mayremain and be operational when portable computing device 102 is dockedin stereo 200.

FIG. 6 illustrates another exemplary vehicle stereo with a portablecomputing device docked therein. In FIG. 6, the appliance that portablecomputing device 102 is docked in is car stereo 300. Analogous to carstereo 200 of FIG. 4, car stereo 300 incorporates typical car stereofunctionality, and may also include additional “automotive PC”functionality. Car stereo 300 includes a source display 302, six pre-setbuttons 304, a scan channel up button 306, a scan channel down button308, a slot 3 10 for insertion of compact discs, an eject button 312 forejecting compact discs, a volume control knob 314, and two peripheraldevice connectors 316 (e.g., USB ports).

Car stereo 300 includes a tray 330 in which portable computing device102 is mounted. Tray 300 may be a fixed tray that extends from carstereo 300, or alternatively may be a retractable tray that need only bepulled out when a portable computing device is to be docked, andotherwise can be retracted in to stereo 300 (and thus be “out of theway”).

The physical size of a car stereo in which a portable computing devicecan be docked can vary. In one implementation, the car stereo is astandard size allowing it to be readily mounted in the dash of manyvehicles. The standard size is often expressed in terms of DINs(Deutsche Industry Normen). In one exemplary implementation, car stereo200 of FIGS. 4 and 5, is a Double DIN size, while car stereo 300 of FIG.6 is a DIN size. Other stereo sizes may also be used, such as those for“shaft-style” stereos, Euro DIN-style stereos, DIN-and-a-half stylestereos, and so forth.

FIG. 7 is a flowchart illustrating an exemplary process 400 for changinga user interface on a portable computing device. Process 400 isimplemented by a portable computing device, such as portable computingdevice 102 of FIGS. 1-4 and 6, and may be implemented in software,firmware, hardware, or combinations thereof.

Initially, when the portable computing device is docked, a determinationis made as to the type of appliance in which the portable computingdevice is docked (act 402). A user interface configuration for thedevice is then identified based on the type of appliance (act 404). Theuser interface for the device is configured in accordance with theidentified configuration (act 406), and user inputs received via theuser interface are processed appropriately (act 408). This processingcontinues while the device remains docked (acts 408 and 410). Once thedevice is undocked, the user interface for the device is configured inaccordance with the undocked or standalone configuration for the device(act 412).

FIG. 8 is a flowchart illustrating an exemplary process 440 foroperation of an appliance. Process 440 is implemented by a appliance,such as appliance 104, 106, or 108 of FIG. 1, appliance 140 of FIG. 2,stereo 200 of FIGS. 4 and 5, or car stereo 300 of FIG. 6. Process 440may be implemented in software, firmware, hardware, or combinationsthereof.

Initially, when a portable computing device is docked, an indication ofthe type of the appliance is sent to the portable computing device (act442). The appliance can detect when a portable computing device isdocked in a variety of different manners, such as receiving anindication from the user (e.g., by the user pressing a button) that theportable computing device is docked, by receiving a request for a typeidentifier from the portable computing device, by detecting actuation ofa switch which is actuated (e.g., pressed) by the housing of theportable computing device whenever the portable computing device isdocked, and so forth.

The portable computing device can use the indication sent in act 442 toconfigure its user interface, as discussed above. The appliance receivesuser inputs by way of the portable computing device (act 444), andoperates appropriately in response to the received user inputs (act446).

FIG. 9 illustrates an exemplary general computing device 500. Computingdevice 500 can be, for example, a portable computing device (e.g., adevice 102 as discussed above) or appliance (e.g., an appliance 104,106, 108, 140, 200, or 300 discussed above) as discussed herein, In abasic configuration, computing device 500 typically includes at leastone processing unit 502 and memory 504. Depending on the exactconfiguration and type of computing device, memory 504 may be volatile(such as RAM), non-volatile (such as ROM, flash memory, etc.) or somecombination of the two. This basic configuration is illustrated in FIG.9 by dashed line 506. Additionally, device 500 may also have additionalfeatures/functionality. For example, device 500 may also includeadditional storage (removable and/or non-removable), such as magnetic oroptical disks or tape. Such additional storage is illustrated in FIG. 9by removable storage 508 and non-removable storage 510.

Device 500 may also contain communications connection(s) 512 that allowthe device to communicate with other devices. Device 500 may also haveinput device(s) 514 such as keyboard, mouse, pen, voice input device,touch input device, and so forth. Output device(s) 516 such as adisplay, speakers, printer, etc. may also be included.

Various modules and techniques may be described herein in the generalcontext of computer-executable instructions, such as program modules,executed by one or more computers or other devices. Generally, programmodules include routines, programs, objects, components, datastructures, etc. that perform particular tasks or implement particularabstract data types. Typically, the functionality of the program modulesmay be combined or distributed as desired in various embodiments.

An implementation of these modules and techniques may be stored on ortransmitted across some form of computer readable media. Computerreadable media can be any available media that can be accessed by acomputer. By way of example, and not limitation, computer readable mediamay comprise “computer storage media” and “communications media.”

“Computer storage media” includes volatile and non-volatile, removableand non-removable media implemented in any method or technology forstorage of information such as computer readable instructions, datastructures, program modules, or other data. Computer storage mediaincludes, but is not limited to, RAM, ROM, EEPROM, flash memory or othermemory technology, CD-ROM, digital versatile disks (DVD) or otheroptical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed by acomputer.

“Communication media” typically embodies computer readable instructions,data structures, program modules, or other data in a modulated datasignal, such as carrier wave or other transport mechanism. Communicationmedia also includes any information delivery media. The term “modulateddata signal” means a signal that has one or more of its characteristicsset or changed in such a manner as to encode information in the signalBy way of example, and not limitation, communication media includeswired media such as a wired network or direct-wired connection, andwireless media such as acoustic, RY, infrared, and other wireless media.Combinations of any of the above are also included within the scope ofcomputer readable media.

CONCLUSION

Although the description above uses language that is specific tostructural features and/or methodological acts, it is to be understoodthat the invention defined in the appended claims is not limited to thespecific features or acts described. Rather, the specific features andacts are disclosed as exemplary forms of implementing the invention.

1. A car stereo including a docking station into which an off-the-shelfhandheld computer can be docked, and including an input/output (I/O)component allowing the car stereo to communicate with the handheldcomputer when the handheld computer is docked in the docking station. 2.A car stereo as recited in claim 1, wherein the vehicle stereo furthercomprises a type module to communicate, to the handheld computer throughthe I/O component, an indication of an appliance type of the car stereoto allow the handheld computer to configure its user interface based onthe appliance type.
 3. A car stereo as recited in claim 1, wherein thecar stereo is further configured to: determine when the handheldcomputer is docked in the docking station; and send, to the handheldcomputer when the handheld computer is docked in the docking station, anindication of an appliance type of the car stereo to allow the handheldcomputer to configure its user interface based on the appliance type. 4.A car stereo as recited in claim 1, wherein the docking station isconfigured so that when the handheld computer is docked in the dockingstation a display of the handheld computer is approximately parallelwith a face of the vehicle stereo.
 5. A car stereo as recited in claim1, wherein the I/O component further allows audio data, which is to beplayed by the car stereo, to be received from the handheld computer. 6.A car stereo as recited in claim 1, wherein the I/O component furtherallows audio data to be communicated to the handheld computer.
 7. A carstereo as recited in claim 1, further comprising an optical disc driveto communicate, in conjunction with the I/O component, data from anoptical disc in the optical disc drive to the handheld computer.
 8. Acar stereo as recited in claim 1, further comprising a peripheral bus towhich one or more peripheral devices can be coupled and made accessibleto the handheld computer.
 9. A portable computing device comprising: aninput/output (110) component through which an appliance that theportable computing device is docked in can be sensed; and aconfiguration module to identify a type of the appliance and determinean appropriate user interface for the portable computing device based atleast in part on the identified type of the appliance.
 10. A portablecomputing device as recited in claim 9, wherein the configuration moduleis further to receive, through the I/O component, a data packet from theappliance identifying the type of the appliance.
 11. A portablecomputing device as recited in claim 9, wherein the I/O component isfurther to send control information to the appliance to control theoperation of the appliance based on user input via the user interface.12. One or more computer readable media having stored thereon aplurality of instructions that, when executed by one or more processorsof a portable computing device, causes the one or more processors to:present a first user interface while the portable computing device isundocked; detect when the portable computing device is docked in astereo of a vehicle; and present, in response to detecting that theportable computing device is docked in the stereo, a second userinterface while the portable computing device is docked in the stereo.13. One or more computer readable media as recited in claim 12, whereinthe plurality of instructions further cause the one or more processorsto access one or more resources of the stereo.
 14. One or more computerreadable media as recited in claim 12, wherein the plurality ofinstructions further cause the one or more processors to allow thestereo to access one or more resources of the portable computing device.15. One or more computer readable media as recited in claim 12, whereinthe plurality of instructions further cause the one or more processorsto receive, from the stereo, a data packet identifying the appliancetype of the stereo.
 16. One or more computer readable media as recitedin claim 12, wherein the plurality of instructions further cause the oneor more processors to send control information to the stereo to controlthe operation of the stereo based on user input via the second userinterface.
 17. One or more computer readable media as recited in claim12, wherein the plurality of instructions further cause the one or moreprocessors to operate as an audio source for the stereo.
 18. One or morecomputer readable media as recited in claim 12, wherein the plurality ofinstructions further cause the one or more processors to receive audiodata from the stereo.
 19. One or more computer readable media as recitedin claim 12, wherein the plurality of instructions further cause the oneor more processors to receive data from an optical disc drive of thestereo.
 20. One or more computer readable media as recited in claim 12,wherein the plurality of instructions further cause the one or moreprocessors to access one or more peripheral devices via a bus of thestereo.